The present invention relates generally to electronic communication systems for use in computer networks and, particularly, to bulletin boards, instant messaging systems, electronic mail and chat rooms.
An electronic communication system for use in enterprise and other collaborative environments would ideally include a suite of capabilities that facilitate decision making and communication by two or more individuals. Such capabilities could include:
enabling users to view the history of multiple conversations with multiple parties (referred to hereinafter as xe2x80x9cconversation historyxe2x80x9d);
enabling users to view messages as soon as they are available without requiring the users to log onto a public bulletin board system (BBS) (referred to hereinafter as xe2x80x9cinstant accessxe2x80x9d);
enabling users to view the content of messages without requiring that the messages first be selected (referred to hereinafter as xe2x80x9copen displayxe2x80x9d);
enabling users to conduct their conversations in privacy so that each user is the only person who can view the history and content of their respective multiple conversations (referred to hereinafter as xe2x80x9cprivate conversationsxe2x80x9d);
enabling users to undeniably agree to proposals made in the course of a conversation in such a way that the conversation is concluded (referred to hereinafter as xe2x80x9cagreementxe2x80x9d); and
enabling users to participate in moderated conferences or informal chats, as well as in conversations (referred to hereinafter as xe2x80x9cintegrated modesxe2x80x9d).
Prior art electronic systems, which include electronic mail (e-mail), bulletin board systems (BBS), instant messaging and chat rooms, offer some but not all of these capabilities and, as a result, are less then ideally suited to enterprise communications. The capabilities of these various communication systems are presented in Table 1.
Referring to Table 1, e-mail systems offer instant access to messages, but the messages must be selected and opened by the recipient (typically with a mouse click) to be viewed. E-mail messages are private as they are directed to specific recipients (one or many). No viewable history is available for E-mail messages except for the most rudimentary kind wherein a message being replied to can be copied into the body of the response. E-mail has only one mode and includes no feature whereby an e-mail user can issue a formal agreement to a proposal contained in a message, other than so stating in a reply message; e.g., xe2x80x9cI agree to your proposal of Dec. 10, 1997 on the subject of contract terms.xe2x80x9d
Like e-mail systems, bulletin board systems (BBS) do not provide open display, agreement, or integrated mode capabilities. Unlike E-mail systems, BBS display messages in a threaded format wherein a topic is listed first and all messages germane to that topic are listed below the topic with different levels of indentation indicating historical and logical relationships between the related messages. For example, a BBS might display a topic and two messages on the topic, the first having an associated comment, as follows:
Topic: Discussion of X
Message 1
Comment on Message 1
Message 2
Because BBS do not provide open display, a user must select a message or comment to read that message or comment. BBS are centralized systems, meaning that a user must actually log in to the BBS to view topics and messages. As a result, messages are not immediately accessible (i.e., to read messages on a topic of interest a user must first access the BBS). Also, BBS are anything but private; typically, the same bulletin board is available to all users, meaning that all messages are accessible to all users.
Instant messaging systems allow users to communicate privately in real time over a network connection. An example of such a system is America On Line""s xe2x80x9cInstant Messagesxe2x80x9d feature, which allows an AOL member who is online to communicate with another member who is also online at the same time. Messages are openly displayed (i.e., without needing to be selected first). Thus, instant messaging systems provide private conversations, immediate access and open display capabilities. However, instant messaging systems do not support conversation history, agreement or integrated modes. Moreover, instant messaging systems are for one-on-one communication only.
Chat systems allow a group of users to enter a chat room and then engage in a group conversation. The group conversation can be moderated or un-moderated. Like instant messaging, chat systems are for informal communications and do not provide conversation history, agreement or integrated modes. Also like instant messaging, chat systems openly display all messages. However, chat messages are not immediately accessible as a user needs to enter a chat room before they can view messages. Also, chat rooms are not private as anyone in the chat room can read all chat messages typed by users in that room.
Consequently, there is a need for an enterprise communication system that provides features and/or combinations of features not present in prior art electronic communication systems.
In summary, the present invention is a electronic communication system that provides features and/or combinations of features not present in prior art electronic communication systems. In particular, the present invention is a communication board system with multiple modes in which the communication board system can be variously configured as:
a threaded instant message system (conversation history plus instant access capabilities);
an open display bulletin board system (conversation-history plus open display capabilities);
private message boards (conversation history plus private conversations capabilities);
a system allowing message locking (conversation history plus agreement capabilities); and
a threaded mail system.
The preferred embodiment of the system is implemented as a client server system including a server application, a client application and a data repository resident on the server. In the preferred embodiment a sender requests communication services using his client application, which relays the request to the server program. The server program updates the data repository to reflect the request and then issues an appropriate message to the client application of one or more recipients, depending on the requested communication services. Any response by a recipient is cooperatively handled by the client and server applications in the same manner as the initial request. All communications activities are moderated by the server application and recorded in the data repository.
The data repository is preferably structured as a set of relational database tables, including a users table and a messages table. The users table lists characteristics of all system users, including unique ID, name and preferences. The messages table lists characteristics of each message issued by users, including a unique message ID, threading information (parent and child message IDs) sender and recipient name, subject, status of the message (unread, read, responded, acknowledged, etc.), type of message (thread, invitation, confirmation, log), miscellaneous flags, and the name of the file where the message text is stored on the server.
In the preferred embodiment a sender sends a message to a recipient by filling in a send message template displayed by the client application, which relays the completed message information to the server application. Upon receiving the message information the server application stores the pertinent information (sender, recipient, subject) in the message table, updates message status fields and threading information for the same message table record, stores the message text in a file, and issues the client application of the intended recipient a pending-message alert. Preferably, the server application sends the pending-message alert only when the users table indicates that the recipient is online, although this is not a requirement of the present invention. The client application gives the recipient an opportunity to do nothing, cancel the alert, or accept the message. If the user does nothing, the server resends the alert at some prescribed interval. If the user cancels the alert, the server will not resend the alert and places the message on hold. If the user accepts the message, the server sends the relevant message information to the client application to be accessed by the recipient.
When the preferred embodiment is configured as a private message board system, each user interacts with the communication system via a private bulletin board in which the client application instantly displays the history and content of all messages associated with conversations in which the respective user is a party. In this configuration the present invention supports multiple instances of instant messaging, meaning that it provides private bulletin boards for multiple users and is able to allow each of the multiple users to exchange instant messages with one or more other users. In this case the relevant message information returned by the server application to the intended recipient includes threading information, which enables the client application to display the message""s history along with that of other messages. Preferably, the client application displays the messages in open format; however, the client application could also display the messages in the conventional format.
Once a recipient has accepted a message, he can reply to or acknowledge the message. The message reply feature is implemented cooperatively by the client and server applications in the same manner as the message send feature. Message acknowledge is a feature of the present invention wherein a conversation""s thread is closed, indicating that the conversation has been concluded, typically with some agreement. For example, a user can indicate final acceptance of sales terms set out in the last of several threaded messages by acknowledging that message. The client application relays message acknowledge information to the server application, which updates the data repository by setting the message status to acked and closing the corresponding thread. Thus, the present invention allows the entire history of a negotiation to be preserved along with its final agreement.
The other system configurations can be implemented using the components of the preferred embodiment with minimal changes from the above description.
In the preferred embodiment, the client application is based on a web browser and the server application includes communication board software that performs all high level and data repository operations and web server software that decodes and encodes communications from and to the client web browser. Preferably, all communication board contents displayed to users are formatted as ACTIVE SERVER PAGES whose fields can be dynamically filled in by the user via the client web browser or by the server""s communication board software using information from other users and/or the data repository.
Another feature provided by the preferred embodiment is message hyperlinking, which allows a user to form a response to any message shown on their private bulletin board by simply selecting a hypertext link identifying the message sender. In response to the selection of a hyperlink the client application generates the appropriate response screen with some of the fields (e.g., sender, recipient, subject) filled-in.
The preferred embodiment supports multiple integrated modes, including a threaded communications (message) mode, already described, talk mode, conference mode, whisper mode and mail mode. The present invention allows users to transition smoothly between the modes.
Conference mode allows users to participate in moderated or unmoderated conferences that are scheduled or unscheduled. Information regarding conference participants and scheduled time and moderator, if applicable, are stored by the server application in a conferences table within the data repository. When a user is to participate in a scheduled conference he is notified of the virtual conference room and time of the conference by the server application. The server application also creates the virtual conference room at the appropriate time, registers participants, and stores a log of the conference in the data repository. In a preferred embodiment conference mode conversations are unthreaded. Whisper mode is available to participants in a conference who wish to paricipate in a private, side conversation.
Talk mode allows users to participate in informal, unlogged conversations. In a preferred embodiment talk mode conversations are unthreaded.
Mail mode allows a user to send e-mail over the Internet with two levels of threading.